package Day03;

/*
变量一些常见问题：
1.变量可以先定义，在赋值，变量如果使用，必须赋值
2.变量有适用范围，如果超过范围，不能使用
        如何确定变量的作用范围？
         a.首先找定义这个变量的大括号
         b.一直找到大括号结束，就是作用范围
3.在一个变量的作用范围内不能再使用一个同名的变量
4.变量一旦定义，可以反复使用
 */
public class VariableDemo02 {
    public static void main(String[]args){
        //1.变量可以先定义，在赋值，变量如果使用，必须赋值
        /*int i=3;
        System.out.println(i);*/

        int i;
        i=87;
        System.out.println(i);
        //int j;
        //System.out.println(j);//如果变量未赋值，不能使用

        //2.变量有适用范围，如果超过范围，不能使用
        //System.out.println(m);   //这个还没赋值
        int m=654;
        {
            int n=789;
            System.out.println(m);
            System.out.println(n);
        }
        System.out.println(m);
        //System.out.println(n);  //n超出了变量n的范围

        //3.在一个变量的作用范围内不能再使用一个同名的变量
        double d=3.14;
        {
            //double d=5.62;       //这个d在上面的d的范围内，重名了，编辑器无法确定使用哪个d
            System.out.println(d);
        }
        System.out.println(d);

        //4.变量一旦定义，可以反复使用
        char ch='你';
        ch='好';    // ‘好’会覆盖‘你’字符
        System.out.println(ch);
    }
}
